package com.iring.domain.common;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Generated;
import org.hibernate.annotations.GenerationTime;

/**
 * 支付订单
 *
 * @author wanggan
 */
@Entity
@Table(name = "t_charge_order_b")
public class PayOrder implements Serializable {

    private static final long serialVersionUID = -4049952581873510035L;

    @Id
    @GeneratedValue
    @Column(name = "id")
    private Integer id;

    @Column(name = "username")
    private String username;

    @Column(name = "order_id")
    private String orderId;

    @Column(name = "trade_no")
    private String tradeNo;

    @Column(name = "operation_amount",precision = 10,scale = 2)
    private Double optAmounts;

    @Column(name = "real_charge_amount",precision = 10,scale = 2)
    private Double realchargeAmouts;

    @Column(name = "order_type")
    private String orderType;

    @Column(name = "order_status")
    private String orderStatus;

    @Column(name = "pay_status")
    private String payStatus;

    @Column(name = "order_pay_time")
    @Temporal(TemporalType.TIMESTAMP)
    private Date orderPayTime;

    @Column(name = "order_refund_time")
    @Temporal(TemporalType.TIMESTAMP)
    private Date orderRefundTime;

    @Column(name = "order_close_time")
    @Temporal(TemporalType.TIMESTAMP)
    private Date orderCloseTime ;

    @Column(name = "order_update_time")
    @Temporal(TemporalType.TIMESTAMP)
    @Generated(GenerationTime.ALWAYS)
    private Date orderUpdateTime;

    @Column(name = "order_create_time")
    @Temporal(TemporalType.TIMESTAMP)
    private Date orderCreateTime;

    @Column(name = "order_href")
    private String orderHref;

    @Column(name = "payer_id")
    private String payerId;

    @Column(name = "invoice_number")
    private String invoiceNumber;

    public Integer getId() {
        return id;
    }

    public String getUsername() {
        return username;
    }

    public String getOrderId() {
        return orderId;
    }

    public String getTradeNo() {
        return tradeNo;
    }

    public Double getOptAmounts() {
        return optAmounts;
    }

    public Double getRealchargeAmouts() {
        return realchargeAmouts;
    }

    public String getOrderType() {
        return orderType;
    }

    public String getOrderStatus() {
        return orderStatus;
    }

    public String getPayStatus() {
        return payStatus;
    }

    public Date getOrderPayTime() {
        return orderPayTime;
    }

    public Date getOrderRefundTime() {
        return orderRefundTime;
    }

    public Date getOrderCloseTime() {
        return orderCloseTime;
    }

    public Date getOrderUpdateTime() {
        return orderUpdateTime;
    }

    public Date getOrderCreateTime() {
        return orderCreateTime;
    }

    public String getOrderHref() {
        return orderHref;
    }

    public String getPayerId() {
        return payerId;
    }

    public String getInvoiceNumber() {
        return invoiceNumber;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }

    public void setOptAmounts(Double optAmounts) {
        this.optAmounts = optAmounts;
    }

    public void setRealchargeAmouts(Double realchargeAmouts) {
        this.realchargeAmouts = realchargeAmouts;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public void setOrderStatus(String orderStatus) {
        this.orderStatus = orderStatus;
    }

    public void setPayStatus(String payStatus) {
        this.payStatus = payStatus;
    }

    public void setOrderPayTime(Date orderPayTime) {
        this.orderPayTime = orderPayTime;
    }

    public void setOrderRefundTime(Date orderRefundTime) {
        this.orderRefundTime = orderRefundTime;
    }

    public void setOrderCloseTime(Date orderCloseTime) {
        this.orderCloseTime = orderCloseTime;
    }

    public void setOrderUpdateTime(Date orderUpdateTime) {
        this.orderUpdateTime = orderUpdateTime;
    }

    public void setOrderCreateTime(Date orderCreateTime) {
        this.orderCreateTime = orderCreateTime;
    }

    public void setOrderHref(String orderHref) {
        this.orderHref = orderHref;
    }

    public void setPayerId(String payerId) {
        this.payerId = payerId;
    }

    public void setInvoiceNumber(String invoiceNumber) {
        this.invoiceNumber = invoiceNumber;
    }
}
